package net.asrsmid.invoker.rs;

/**
 * @author Chen WANG
 * @version 1.0
 * @created 05-mai-2011 11:53:12
 */
public class HtmlDeviceInformation extends DeviceInformation {
	/**
	 * Indicates whether to render with additional accessibility metadata for use with
	 * screen readers.
	 * The additional accessibility metadata causes the rendered report to be
	 * compliant with the
	 * following technical standards in the "Web-based Intranet and Internet
	 * Information and Applications"
	 * section (1194.22) of the Electronic and Information Technology Accessibility
	 * Standards (Section 508) document:
	 *   (g) Row and column headers shall be identified for data tables.
	 *   (h) Markup shall be used to associate data cells and header cells for data
	 * tables that have
	 *       two or more logical levels of row or column headers.
	 *   (i) Frames shall be titled with text that facilitates frame identification
	 * and navigation.
	 *       This parameter is only applicable to reports that contain simple table or
	 * matrix structures
	 *       with simple grouping. The default value is false.
	 */
	public static final String ACCESSIBLE_TABLIX = "AccessibleTablix";
	/**
	 * Specifies the name of the JavaScript function to use when an action event
	 * occurs,
	 * such as a drillthrough or bookmark click. If this parameter is specified,
	 * an action event will trigger the named JavaScript function instead of a
	 * postback to the server.
	 */
	public static final String ACTION_SCRIPT = "ActionScript";
	/**
	 * The bookmark ID to jump to in the report.
	 */
	public static final String BOOKMARK_ID = "BookmarkID";
	/**
	 * 	Indicates whether to show or hide the report document map. The default value
	 * of this parameter is true.
	 */
	public static final String DOCMAP = "DocMap";
	public static final String EXPAND_CONTENT = "ExpandContent";
	public static final String FIND_STRING = "FindString";
	public static final String GET_IMAGE = "GetImage";
	public static final String HTML_FRAGMENT = "HTMLFragment";
	public static final String IMAGE_CONSOLIDATION = "ImageConsolidation";
	public static final String JAVASCRIPT = "JavaScript";
	public static final String LINK_TARGET = "LinkTarget";
	public static final String ONLY_VISIBLE_STYLES = "OnlyVisibleStyles";
	public static final String OUTLOOK_COMPAT = "OutlookCompat";
	public static final String PARAMETERS = "Parameters";
	public static final String PREFIX_ID = "PrefixId";
	public static final String REPLACEMENT_ROOT = "ReplacementRoot";
	public static final String RESOURCE_STREAM_ROOT = "ResourceStreamRoot";
	public static final String SECTION = "Section";
	public static final String STREAM_ROOT = "StreamRoot";
	public static final String STYLE_STREAM = "StyleStream";
	public static final String TOOL_BAR = "Toolbar";
	public static final String USER_AGENT = "UserAgent";
	public static final String ZOOM = "Zoom";

	/**
	 * 
	 * @param value
	 */
	public void enableAccessibleTablix(boolean value){
		deviceInfoMap.put(ACCESSIBLE_TABLIX, value ? TRUE : FALSE);
	}

	/**
	 * 
	 * @param scriptName
	 */
	public void setActionScript(String scriptName){
		deviceInfoMap.put(ACTION_SCRIPT, scriptName);
	}

	/**
	 * 
	 * @param bookmarkID
	 */
	public void setBookmarkID(String bookmarkID){
		deviceInfoMap.put(BOOKMARK_ID, bookmarkID);
	}

	/**
	 * 
	 * @param value
	 */
	public void enableDocMap(boolean value){
		deviceInfoMap.put(DOCMAP, value ? TRUE : FALSE);
	}

	/**
	 * 
	 * @param value
	 */
	public void enableExpandContent(boolean value){
		deviceInfoMap.put(EXPAND_CONTENT, value ? TRUE : FALSE);
	}

	/**
	 * 
	 * @param findString
	 */
	public void setFindString(String findString){
		deviceInfoMap.put(FIND_STRING, findString);
	}

	/**
	 * 
	 * @param getImage
	 */
	public void setGetImage(String getImage){
		deviceInfoMap.put(GET_IMAGE, getImage);
	}

	/**
	 * 
	 * @param value
	 */
	public void enableHTMLFragment(boolean value){
		deviceInfoMap.put(HTML_FRAGMENT, value ? TRUE : FALSE);
	}

	/**
	 * 
	 * @param value
	 */
	public void enableImageConsolidation(boolean value){
		deviceInfoMap.put(IMAGE_CONSOLIDATION, value ? TRUE : FALSE);
	}

	/**
	 * 
	 * @param value
	 */
	public void enableJavaScript(boolean value){
		deviceInfoMap.put(JAVASCRIPT, value ? TRUE : FALSE);
	}

	/**
	 * 
	 * @param linkTarget
	 */
	public void setLinkTarget(String linkTarget){
		deviceInfoMap.put(LINK_TARGET, linkTarget);
	}

	/**
	 * 
	 * @param value
	 */
	public void enableOnlyVisibleStyles(boolean value){
		deviceInfoMap.put(ONLY_VISIBLE_STYLES, value ? TRUE : FALSE);
	}

	/**
	 * 
	 * @param value
	 */
	public void enableOutlookCompat(boolean value){
		deviceInfoMap.put(OUTLOOK_COMPAT, value ? TRUE : FALSE);
	}

	/**
	 * 
	 * @param value
	 */
	public void enableParameters(boolean value){
		deviceInfoMap.put(PARAMETERS, value ? TRUE : FALSE);
	}

	/**
	 * 
	 * @param prefixId
	 */
	public void setPrefixId(String prefixId){
		deviceInfoMap.put(PREFIX_ID, prefixId);
	}

	/**
	 * 
	 * @param replacementRoot
	 */
	public void setReplacementRoot(String replacementRoot){
		deviceInfoMap.put(REPLACEMENT_ROOT, replacementRoot);
	}

	/**
	 * 
	 * @param resourceStreamRoot
	 */
	public void setResourceStreamRoot(String resourceStreamRoot){
		deviceInfoMap.put(RESOURCE_STREAM_ROOT, resourceStreamRoot);
	}

	/**
	 * 
	 * @param section
	 */
	public void setSection(int section){
		deviceInfoMap.put(SECTION, Integer.toString(section));
	}

	/**
	 * 
	 * @param streamRoot
	 */
	public void setStreamRoot(String streamRoot){
		deviceInfoMap.put(STREAM_ROOT, streamRoot);
	}

	/**
	 * 
	 * @param value
	 */
	public void enableStyleStream(boolean value){
		deviceInfoMap.put(STYLE_STREAM, value ? TRUE : FALSE);
	}

	/**
	 * 
	 * @param value
	 */
	public void enableToolbar(boolean value){
		deviceInfoMap.put(TOOL_BAR, value ? TRUE : FALSE);
	}

	/**
	 * 
	 * @param userAgent
	 */
	public void setUserAgent(String userAgent){
		deviceInfoMap.put(USER_AGENT, userAgent);
	}

	/**
	 * 
	 * @param zoom
	 */
	public void setZoom(int zoom){
		deviceInfoMap.put(ZOOM, Integer.toString(zoom));
	}
}